//
//  TYZTool.h
//  ESTSCRMAPP
//
//  Created by 李贤立 on 2018/10/10.
//  Copyright © 2018年 Capfer. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface TYZTool : NSObject
/**
 生成当前的GUID
 
 @return GUID
 */
+ (NSString *)GUID;

/**
 根据日期得到当前星期几
 
 @param dateString 年月日字符串，字符格式为yyyy-MM-dd
 @return 星期几（0是星期日）
 */
+ (NSInteger)weekFromDateString:(NSString *)dateString;

/**
 判断当月有多少天
 
 @param month 月份
 @param year 年份
 @return 多少天
 */
+ (NSInteger)daysInMonth:(NSInteger)month year:(NSInteger)year;

/**
 获取当天所在周的第一天和最后一天
 
 @param dateString 当天的日期年月日字符串，字符格式为yyyy-MM-dd
 @return 第一天和最后一天的数组
 */
+ (NSArray<NSString *> *)weekTypeDayArrayWithDateString:(NSString *)dateString;

/**
 获取当天所在月的第一天和最后一天
 
 @param dateString 传入的日期格式为（yyyy-mm-dd）
 @return 第一天和最后一天的数组
 */
+ (NSArray<NSString *> *)monthTypeDayArrayWithDateString:(NSString *)dateString;

/**
  获取当地当前时间
 
  @return 时间字符串
 */
+ (NSString *)getCurrentTime;

/**
  将字符串转成NSDate类型
 
  @param dateString 时间类型的字符串 例如：2018-07-12
  @return date
 */
+ (NSDate *)dateFromString:(NSString *)dateString;

/**
  传入今天的时间，返回第二天的时间（yyyy-MM-dd）
 
  @param aDate 当前的时间NSDate类型，上面的方法可获取当前时间的NSDate类型
  @return 第二天时间
 */
+ (NSString *)getTomorrowDay:(NSDate *)aDate;

/**
 获取几天之后的时间
 
 @param someDay 几天？
 @param format 时间格式
 @return 几天之后的时间
 */
+ (NSString *)getAfterSomeDay:(NSInteger)someDay format:(NSString *)format;

/**
  判断是否为今天
 
  @param todayTime 时间（NSDate）
  @return YES，是 NO ～
 */
+ (BOOL)isTodayWithTime:(NSDate*)todayTime;

/**
  获取当前时间戳
  *1000 是精确到毫秒，不乘就是精确到秒
 
  @return 返回时间戳
 */
+ (NSString *)currentTimeStr;

/**
  时间戳转时间,时间戳为13位是精确到毫秒的，10位精确到秒
  传入的时间戳str如果是精确到毫秒的记得要/1000
 
  @param timeStr 时间戳
  @return 返回时间
 */
+ (NSString *)getDateStringWithTimeStr:(NSString *)timeStr;

/**
  字符串转时间戳 如：2017-4-10 17:15:10
 
  @param time 时间
  @return 时间戳
 */
+ (NSString *)getTimeStrWithString:(NSString *)time;

/**
  获取当前是星期几
 
  @return 1、2、3、4、5、6、7(星期六是 7 ，星期日 1)
 */
+ (NSInteger)getNowWeekday;

/**
  获取当前是几月几日
 
  @return 07月07日
 */
+ (NSString *)getTodayStr;

/**
  计算两个时间的差值
 
  @param starTime 开始时间
  @param endTime 结束时间
  @return 时间差 (单位 ：秒)
 */
+ (NSTimeInterval)pleaseInsertStarTime:(NSString *)starTime andInsertEndTime:(NSString *)endTime;
@end
